package cn.two.service.impl;

import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;

import cn.two.dao.OaApplymoneyDao;
import cn.two.model.OaApplymoney;
import cn.two.model.OaBorrow;
import cn.two.model.OaDept;
import cn.two.model.OaUser;
import cn.two.service.OaApplymoneyService;
@Service
public class OaApplymoneyServiceImpl implements OaApplymoneyService {
	@Resource
	private OaApplymoneyDao oaApplymoneyDao;
	//根据用户id查询借款申请单
	public List<OaApplymoney> selectByPrimaryKey(int userId) {
		return oaApplymoneyDao.selectByPrimaryKey(userId);
	}

	//查询所有的借款申请
	public List<OaApplymoney> selectAll() {
		return oaApplymoneyDao.selectAll();
	}

	//多条件查询借款申请
	public List<OaApplymoney> selectMore(OaApplymoney oaApplymoney) {
		
		return oaApplymoneyDao.selectMore(oaApplymoney);
	}

	//新增申请
	public int addBorrowMoneyTable(OaApplymoney oaApplymoney) {
		
		return oaApplymoneyDao.addBorrowMoneyTable(oaApplymoney);
	}

	//修改借款申请
	public void updateBorrowMoneyTable(OaApplymoney oaApplymoney) {
		oaApplymoneyDao.updateBorrowMoneyTable(oaApplymoney);
	}

	//删除借款申请
	public int delBorrowMoneyTable(OaApplymoney oaApplymoney) {
		
		return oaApplymoneyDao.delBorrowMoneyTable(oaApplymoney);
	}
	//查询借款用途
	public List<OaBorrow> selectBorrowTable() {

		return oaApplymoneyDao.selectBorrowTable();
	}
	//查询借款用途 ,暂时没用到
	public OaBorrow selectBorrowTableById(OaApplymoney oaApplymoney) {
		return oaApplymoneyDao.selectBorrowTableById(oaApplymoney);
	}

	//查询用户表
	public OaUser selectUser(String userName) {
		return oaApplymoneyDao.selectUser(userName);
	}
	//查询部门表
	public OaDept selectDept(String deptName) {
		return oaApplymoneyDao.selectDept(deptName);
	}
	//根据借款id查询借款申请
	public OaBorrow selectByBorroeId(int borrowId) {
		return oaApplymoneyDao.selectByBorroeId(borrowId);
	}
	//分页,获得总页数和当前页数
	public Page queryLikeUsers(Map<String, Object> cond) {
		Page page = new Page();
		// 根据条件查询符合的用户列表记录总数，赋值给page的totalNum变量
		page.setTotal(oaApplymoneyDao.getLikeUsersCount(cond));
		//请求参数中获得每页的大小
		int pageSize = Integer.parseInt(String.valueOf(cond.get("pageSize")));
		page.setPageSize(pageSize);
		//从请求参数中获取当前页码
		int curPageNum = Integer.parseInt(String.valueOf(cond.get("pageNum")));
		page.setPageNum(curPageNum);
		//动态计算总页数（总记录数   除以  每页大小  加上  总页数  求余 每页大小，如果余数不为零，则加一，否则加0）
		page.setPageNum((int)(page.getTotal()/pageSize+(page.getTotal()%pageSize==0?0:1)));
		page=PageHelper.startPage(curPageNum, pageSize);	
		List list=oaApplymoneyDao.getLikeUsers(cond);
		return page;
	} 
	//分页,获得总页数和当前页数
		public Page queryLikeAllUsers(Map<String, Object> cond) {
			Page page = new Page();
			// 根据条件查询符合的用户列表记录总数，赋值给page的totalNum变量
			page.setTotal(oaApplymoneyDao.getLikeUsersCount(cond));
			//请求参数中获得每页的大小
			int pageSize = Integer.parseInt(String.valueOf(cond.get("pageSize")));
			page.setPageSize(pageSize);
			//从请求参数中获取当前页码
			int curPageNum = Integer.parseInt(String.valueOf(cond.get("pageNum")));
			page.setPageNum(curPageNum);
			//动态计算总页数（总记录数   除以  每页大小  加上  总页数  求余 每页大小，如果余数不为零，则加一，否则加0）
			page.setPageNum((int)(page.getTotal()/pageSize+(page.getTotal()%pageSize==0?0:1)));
			page=PageHelper.startPage(curPageNum, pageSize);	
			List list=oaApplymoneyDao.getLikeAllUsers(cond);
			return page;
		} 
	

	//根据借款id查询借款申请
	public OaApplymoney selectById(OaApplymoney oaApplymoney) {
		return oaApplymoneyDao.selectById(oaApplymoney);
	}

	public void updateBorrowMoneyTables(OaApplymoney oaApplymoney) {
		oaApplymoneyDao.updateBorrowMoneyTables(oaApplymoney);
	}

	public OaApplymoneyDao getOaApplymoneyDao() {
		return oaApplymoneyDao;
	}


	public void setOaApplymoneyDao(OaApplymoneyDao oaApplymoneyDao) {
		this.oaApplymoneyDao = oaApplymoneyDao;
	}

	

	 

	

	
	

	

	
}
